extends 基础场景类
@onready var 菜单按钮 = %"菜单按钮"
@onready var 天气图片 = %"天气图片"
@onready var 天气说明 = %"天气说明"
@onready var 时间按钮 = %"时间按钮"
@onready var 记事本按钮 = %"记事本按钮"
@onready var 蓝图按钮 = %"蓝图按钮"
@onready var 人物按钮 = %"人物按钮"
@onready var 背景音乐播放器 = %"背景音乐播放器"

@onready var 区域卡牌 = %"区域卡牌"
@onready var 环境卡牌区 = %"环境卡牌区"
@onready var 地面卡牌区 = %"地面卡牌区"
@onready var 手牌区 = %"手牌区"
@onready var 天数= %"天数"
@onready var 时间= %"时间"
@onready var 窗口管理器 = %"窗口管理器"

var 世界数据:世界数据类
var 状态:String
func _ready():
	绑定世界()
	绑定按钮信号()
	当前区域改变时()
	
func 绑定世界():
	世界数据=GameCode.世界数据
	世界数据.当前区域改变.connect(当前区域改变时)	
	世界数据.世界时间.经历时间.connect(当经历时间时)
	手牌区.卡牌区数据=GameCode.世界数据.角色数据.手牌区卡牌数据
	手牌区.添加卡牌失败.connect(当添加卡牌失败)
	刷新时间显示()

func 绑定按钮信号():
	菜单按钮.按钮被点击.connect(当菜单按钮被点击)
	时间按钮.按钮被点击.connect(当时间按钮被点击)
	记事本按钮.按钮被点击.connect(当记事本按钮被点击)
	蓝图按钮.按钮被点击.connect(当蓝图按钮被点击)
	人物按钮.按钮被点击.connect(当人物按钮被点击)
	区域卡牌.按钮被点击.connect(当区域卡牌被点击)	
		
func 当前区域改变时():
	背景音乐播放器.stream=世界数据.当前区域.背景音乐
	背景音乐播放器.play()
	区域卡牌.区域数据=世界数据.当前区域
	环境卡牌区.卡牌区数据=世界数据.当前区域.环境卡牌区
	地面卡牌区.卡牌区数据=世界数据.当前区域.地面卡牌区
	
func 当添加卡牌失败(卡牌数据:卡牌数据类):
	地面卡牌区.添加卡牌(卡牌数据)
	
func 当菜单按钮被点击():
	print("菜单按钮被点击")

func 当时间按钮被点击():
	print("时间按钮被点击")
	世界数据.世界时间.当前时间+=1440

func 当记事本按钮被点击():
	print("记事本按钮被点击")

func 当蓝图按钮被点击():
	print("蓝图按钮被点击")

func 当人物按钮被点击():
	GameViewManager.打开弹窗("角色状态")
	
func 当区域卡牌被点击():
	GameViewManager.打开弹窗("区域信息")

func 当经历时间时(_分钟数:int):
	刷新时间显示()

func 刷新时间显示():
	var 时间信息:Dictionary=世界数据.世界时间.获取时间()
	天数.text="第"+str(时间信息.天)+"天"
	时间.text=str(时间信息.时).pad_zeros(2)+":"+str(时间信息.分).pad_zeros(2)
